package com.laan.plat;

import java.util.ArrayList;
import java.util.Random;

import com.laan.plat.R;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;

public class Peces {
	
	private ArrayList<Objecte> peces;
	private Explosions explos;
	private static final int PECESCHANCE = 15;
	private static final int MAXPECES = 15;
	private static final float BASEWIDTH = 0.06f;
	private static final int VARWIDTH = 6;
	private static final float BASEVY = 0.01f;
	private static final int VARVY = 20;
	private Random rand;
	Resources resources;
	BitmapFactory.Options options;
	ArrayList<Bitmap> bitmaps;
	
	public Peces(Resources res) {
		peces = new ArrayList<Objecte>();
		explos = new Explosions(res);
		rand = new Random();
		options = new BitmapFactory.Options();
		options.inPreferredConfig = Bitmap.Config.ARGB_8888;
		resources = res;
		loadbitmaps();
	}
	
	public void actualitza() {
//		toca_afegir();
//		for(Objecte p: peces) p.actualitza();
//		explos.actualitza();
	}
	
	public void draw(Canvas canvas) {
//		for(Objecte o: peces) o.draw(canvas);
//		explos.draw(canvas);
	}
	
	private void loadbitmaps() {
//		bitmaps = new ArrayList<Bitmap>();
//		bitmaps.add(BitmapFactory.decodeResource(resources, R.drawable.blue1, options));
//		bitmaps.add(BitmapFactory.decodeResource(resources, R.drawable.blue2, options));
//		bitmaps.add(BitmapFactory.decodeResource(resources, R.drawable.yellow1, options));
//		bitmaps.add(BitmapFactory.decodeResource(resources, R.drawable.yellow2, options));
//		bitmaps.add(BitmapFactory.decodeResource(resources, R.drawable.red1, options));
//		bitmaps.add(BitmapFactory.decodeResource(resources, R.drawable.green1, options));
	}
	
	private void toca_afegir() {
//		if(peces.size() == MAXPECES || rand.nextInt(PECESCHANCE) != 0) return;
//		
//		Bitmap bmpPeca = bitmaps.get(rand.nextInt(bitmaps.size()));
//		
//		float x,y,width,height,vx,vy;
//		width = (BASEWIDTH+(float)rand.nextInt(VARWIDTH)/100)*GV.Screen.metrics.widthPixels;
//		height = width;
//		x = (float)rand.nextInt(GV.Screen.metrics.widthPixels-(int)width);
//		y = -height;
//		vx = 0;
//		vy = (BASEVY+(float)rand.nextInt(VARVY)/1000)*GV.Screen.metrics.heightPixels;
//		
//		Objecte o = new Objecte(bmpPeca,x,y,width,height,vx,vy);
//		o.enableGravity();
//		peces.add(o);
	}
	
	public void colisions(float bx, float by, float bw, float bh) {
//		for(int i=peces.size()-1; i>=0; i--) {
//			Objecte p = peces.get(i);
//			if(p.vy > 0 && p.y < by + bh && p.y + p.height > by && p.x + p.width > bx && p.x < bx + bw) {
////				peces.remove(p);
//				explos.afegir(p.x, p.y, p.width, p.height);
//				p.vy = -p.vy*.9f;
//				//TODO punts
//			}
//			else if(p.y > GV.Screen.metrics.heightPixels) {
//				peces.remove(p);
//				//TODO vides
//			}
//		}
	}
}
